﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;

namespace RS.Echarts.Models
{
    /// <summary>
    /// 表示图例数据项的配置类。
    /// </summary>
    public class LegendDataItem
    {
        /// <summary>
        /// 系列名称，用于标识该数据项所属的系列。
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 图例项的icon，可选值包括'circle'、'rect'、'roundRect'、'triangle'、'diamond'、'pin'、'arrow'、'none'，
        /// 也可以通过'image://url'设置为图片（URL为图片链接或dataURI），或者通过'path://'设置为任意的矢量路径。
        /// </summary>
        public string Icon { get; set; }

        /// <summary>
        /// 该数据项的图形样式配置。
        /// </summary>
        public LegendSymbolStyle ItemStyle { get; set; } = new LegendSymbolStyle();

        /// <summary>
        /// 该数据项图形中线的样式配置。
        /// </summary>
        public LineStyle LineStyle { get; set; } = new LineStyle();

        /// <summary>
        /// 图形旋转角度，类型为number | 'inherit'。如果为'inherit'，表示取系列的symbolRotate。
        /// </summary>
        public object SymbolRotate { get; set; } = "inherit";

        /// <summary>
        /// 图例关闭时该数据项的颜色。
        /// </summary>
        public Color InactiveColor { get; set; } = Color.FromArgb(255, 204, 204, 204);

        /// <summary>
        /// 图例关闭时该数据项的描边颜色。
        /// </summary>
        public Color InactiveBorderColor { get; set; } = Color.FromArgb(255, 204, 204, 204);

        /// <summary>
        /// 图例关闭时该数据项的描边粗细。
        /// 如果为'auto'表示：如果系列存在描边，则取2，如果系列不存在描边，则取0。
        /// 如果为'inherit'表示：始终取系列的描边粗细。
        /// </summary>
        public object InactiveBorderWidth { get; set; } = "auto";

        /// <summary>
        /// 该数据项的文本样式配置。
        /// </summary>
        public TextStyle TextStyle { get; set; } = new TextStyle();
    }
}
